6.3 定制 controller

以下设置对于 Controller 组件来说都是可调的。

依赖项

Requires: cache, database, registry
Required by: router
Considerations: none

controller 设定的设置

以下的 etcd 键由 controller 组件设置,通常在它的 /bin/boot 脚本。

设置 描述
/deis/controller/host 运行着 controller 主机的 IP 地址
/deis/controller/port controller 服务使用的端口(默认:8000)
/deis/controller/protocol controller 的协议(默认:http)
/deis/controller/secretKey 使用的密码(默认:随机生成“randomly generated”)
/deis/controller/builderKey builder 用于与 controller 鉴权(默认:随机生成)
/deis/builder/users/* 存储用户的 SSH 秘钥(由 builder 使用)
/deis/domains/* 应用的 domain 配置(由 router 使用)

controller 使用的设置

以下的 etcd 键由 controller 组件使用。

设置 描述
/deis/controller/registrationEnabled 允许 Deis 新用户注册 (默认:true)
/deis/controller/webEnabled 开启 controller web UI(默认: false)
/deis/cache/host cache 组件主机(由 cache 设置)
/deis/cache/port cache 组件端口(由 cache 设置)
/deis/database/host database 组件主机(由 database 设置)
/deis/database/port database 组件端口 (由 database 设置)
/deis/database/engine database engine (由 database 设置)
/deis/database/name database name (由 database 设置)
/deis/database/user database user (由 database 设置)
/deis/database/password database password (由 database 设置)
/deis/registry/host registry 组件主机 (由 registry 设置)
/deis/registry/port registry 组件端口 (由 registry 设置)
/deis/registry/protocol registry 组件协议 (由 registry)

使用一个定制的 controller 镜像

你可以使用一个定制的 controller 组件的 Dokcer 镜像来代替 Deis 提供的镜像:

  1. $ deisctl config controller set image=myaccount/myimage:latest

这将从公有的 Docker registry 拉取(pull)镜像。你也可以从一个私有的 registry 拉取(pull):

  1. $ deisctl config controller set image=registry.mydomain.org:5000/myaccount/myimage:latest

确保你定制的镜像功能与 Deis 自带的 stock controller image 一样。明确的说,就是确保它设置和读取合适的 etcd 键。